2018.4.17
leetcode 283. Move Zeroes
题目详情
Given an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of the non-zero elements.
For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].
大概意思就是,给你一个数组nums,操作数组变为 ‘0’ > 都在数组最后。
Example:
Input: matrix = [0, 1, 0, 3, 12]
Output: [1, 3, 12, 0, 0]
Explanation: [0,1,0,3,12] –> [1,3,12,…] –> [1,3,12,0,0,0]
思路
- 把非0项从后往前放,用个常量记录非0个数,遍历完在list后补0
具体代码
|
|
leetcode 268. Missing Number
题目详情
Given an array containing n distinct numbers taken from 0, 1, 2, …, n, find the one that is missing from the array.
他会给一个缺一个数的等差数列为1的顺序数组,求缺少的元素
Example 1:
Input: [1,0,3]
Output: 2
思路
- 最直观的一个方法是用等差数列的求和公式求出0到n之间所有的数字之和
- 然后再遍历数组算出给定数字的累积和
- 然后做减法,差值就是丢失的那个数字
具体代码
|
|
leetcode 766. Toeplitz Matrix
题目详情
A matrix is Toeplitz if every diagonal from top-left to >bottom-right has the same element.
Now given an M x N matrix, return True if and only if the matrix is Toeplitz.
如果一个矩阵的每一条斜对角线(左上到右下)上的元素都相等,则我们称它为托普利兹矩阵。现在输入一个M*N大小的矩阵,如果它是一个托普利兹矩阵,则返回true,如果不是,返回false。
Example 1:
Input: matrix = [
[3,2,1,5],
[7,3,2,1],
[4,7,3,2]
]
Output: True
思路
- 遍历每一个元素,比较这个元素和它右下角元素的值是否相等,如果不相等,直接返回false,停止遍历。
具体代码
|
|
2018.4.17 – End